// 静态方法与静态成员变量
#include <iostream>
using namespace std;
class Person {
public:
    // 静态成员变量
    // 编译阶段分配内存，类内声明，类外初始化，所有对象共享一份
    static int m_age;
    // 静态方法只能使用静态成员变量
    static void func(void) {
        m_age = 30;
        cout << "call static function" << endl;
    }
};
// 类内声明，类外初始化
int Person:: m_age = 20;
int main(void) {
    Person p;
    cout << Person::m_age << endl;
    Person::func();
    cout << p.m_age << endl;

    return 0;
}